package borrar;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;

public class RegistroCuentaServlet extends HttpServlet {

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {

    	UserService userService = UserServiceFactory.getUserService();
        User user = userService.getCurrentUser();

        String nombreCuenta = req.getParameter("nombreCuenta");
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date fechaPrestamo = new Date();
		try {
			fechaPrestamo = sdf.parse(req.getParameter("fechaPrestamo"));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        
        Key claveCuenta = KeyFactory.createKey("Cuenta", nombreCuenta);
        
        String concepto = req.getParameter("concepto");
        float capital = Float.parseFloat(req.getParameter("capital"));
        float interesPorcentaje = Float.parseFloat(req.getParameter("interesPorcentaje"));
        float interes = Float.parseFloat(req.getParameter("interes"));
        float interesAdeudado = Float.parseFloat(req.getParameter("interesAdeudado"));
        float ganancia = Float.parseFloat(req.getParameter("ganancia"));       

        
        
        
        Entity cuenta = new Entity("Cuenta", claveCuenta);

        cuenta.setProperty("id", claveCuenta);
        cuenta.setProperty("fechaCreacion", new Date());
        cuenta.setProperty("fechaModificacion", null);
        
		cuenta.setProperty("fechaPrestamo", fechaPrestamo); 
               
        cuenta.setProperty("concepto", concepto);
        cuenta.setProperty("capital", capital);
        cuenta.setProperty("interesPorcentaje", interesPorcentaje);
        cuenta.setProperty("interes", interes);
        cuenta.setProperty("interesAdeudado", interesAdeudado);
        cuenta.setProperty("ganancia", ganancia);
        
        cuenta.setProperty("user", user);

        
        DatastoreService datastore =
                DatastoreServiceFactory.getDatastoreService();
        datastore.put(cuenta);

        resp.sendRedirect("/guestbook.jsp?nombreCuenta="
                + nombreCuenta);
    }
}
